package com.hsteach.service.calendar;

import java.util.List;

import com.hsteach.common.utils.DateUtils;
import com.hsteach.enums.BooleanEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hsteach.dao.mapper.calendar.CalendarPlanMapper;
import com.hsteach.dao.domain.calendar.CalendarPlan;

/**
 * 周行事历工作计划Service业务层处理
 * 
 * @author fanxquer
 * @date 2023-11-28
 */
@Service
public class CalendarPlanService
{
    @Autowired
    private CalendarPlanMapper calendarPlanMapper;

    /**
     * 查询周行事历工作计划
     * 
     * @param id 周行事历工作计划主键
     * @return 周行事历工作计划
     */
    public CalendarPlan selectCalendarPlanById(Long id)
    {
        return calendarPlanMapper.selectCalendarPlanById(id);
    }

    /**
     * 查询周行事历工作计划列表
     * 
     * @param calendarPlan 周行事历工作计划
     * @return 周行事历工作计划
     */
    public List<CalendarPlan> selectCalendarPlanList(CalendarPlan calendarPlan)
    {
        return calendarPlanMapper.selectCalendarPlanList(calendarPlan);
    }

    /**
     * 新增周行事历工作计划
     * 
     * @param calendarPlan 周行事历工作计划
     * @return 结果
     */
    public int insertCalendarPlan(CalendarPlan calendarPlan)
    {
        calendarPlan.setCreateTime(DateUtils.getNowDate());
        return calendarPlanMapper.insertCalendarPlan(calendarPlan);
    }

    /**
     * 修改周行事历工作计划
     * 
     * @param calendarPlan 周行事历工作计划
     * @return 结果
     */
    public int updateCalendarPlan(CalendarPlan calendarPlan)
    {
        calendarPlan.setUpdateTime(DateUtils.getNowDate());
        return calendarPlanMapper.updateCalendarPlan(calendarPlan);
    }

    /**
     * 批量删除周行事历工作计划
     * 
     * @param ids 需要删除的周行事历工作计划主键
     * @return 结果
     */
    public int deleteCalendarPlanByIds(Long[] ids)
    {
        return calendarPlanMapper.deleteCalendarPlanByIds(ids);
    }

    /**
     * 删除周行事历工作计划信息
     * 
     * @param id 周行事历工作计划主键
     * @return 结果
     */
    public int deleteCalendarPlanById(Long id)
    {
        return calendarPlanMapper.deleteCalendarPlanById(id);
    }

    public int deleteById(Long id)
    {
        CalendarPlan update = new CalendarPlan();
        update.setDelStatus(BooleanEnum.FALSE.getCode());
        update.setId(id);
        return calendarPlanMapper.updateCalendarPlan(update);
    }
}
